vim编辑器设置行号、缩进、tab键

您所在的位置:网站首页 vim 设置行号 vim编辑器设置行号、缩进、tab键

vim编辑器设置行号、缩进、tab键

2023-09-13 19:27| 来源: 网络整理| 查看: 265

Linux系统中安装vim编辑器后原装的vim编辑器用使用体验确实不太好。不自动缩进、tab空格过大、不显示行号、括号也不配对等等。下面就对vim编辑器进行配置,使之用起来更顺手:

1、简单的页面设置有两种方式。

方法一:在/etc/vimrc中进行设置,这种方式作用与所有登录Linux环境下的用户。个人认为都差不多。

(1)进入/etc目录,然后打开vimrc文件,在文件末尾添加相应设置语句(如下66行及以下就是新添加的设置语句)

cd /etc vim vimrc

几个常用的选项列出如下,添加到文件末尾就ok了: set nu "显示行号 set showmode "在命令行界面最下面显示当前模式等。 set ruler "在右下角显示光标所在的行数等信息 set autoindent "单击Enter键光标移动到与上一行的起始字符对齐 syntax on "即设置语法检测;当编辑C或者Shell脚本时,关键字会用特殊颜色显示. set shiftwidth=4 "每一级缩进的长度 set softtabstop=4 "表示在编辑模式的时候按退格键的时候退回缩进的长度 set autoindent   "自动缩进

方法二:在用户登录的 ~ 目录下创建一个 .vimrc文件,在其中进行相应的设置,此时别的用户使用不会有影响。

这个方法也很简单,在 ~ 目录下新创建一个.vimrc文件,然后将下面配置语句复制进去就好了。

cd ~ vim .vimrc 然后在将一下设置语句粘贴进去保存退出即可。

注意:采用这种方法,在打开文件的时候可能会出现如下提示(filetype unknown)。

 解决办法:将set syntax=on 改为syntax on 即可解决(184行)。

map :call SaveInputData() func! SaveInputData() exec "tabnew" exec 'normal "+gP' exec "w! /tmp/input_data" endfunc "colorscheme torte "colorscheme murphy "colorscheme desert "colorscheme desert "colorscheme elflord colorscheme ron "set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 "set termencoding=utf-8 "set encoding=utf-8 "set fileencodings=ucs-bom,utf-8,cp936 "set fileencoding=utf-8 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " 显示相关 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "set shortmess=atI " 启动的时候不显示那个援助乌干达儿童的提示 "winpos 5 5 " 设定窗口位置 "set lines=40 columns=155 " 设定窗口大小 set go= " 不要图形按钮 "color asmanian2 " 设置背景主题 "set guifont=Courier_New:h10:cANSI " 设置字体 "syntax on " 语法高亮 autocmd InsertLeave * se nocul " 用浅色高亮当前行 autocmd InsertEnter * se cul " 用浅色高亮当前行 "set ruler " 显示标尺 set showcmd " 输入的命令显示出来,看的清楚些 "set cmdheight=1 " 命令行(在状态行下)的高度,设置为1 "set whichwrap+=,h,l " 允许backspace和光标键跨越行边界(不建议) "set scrolloff=3 " 光标移动到buffer的顶部和底部时保持3行距离 set novisualbell " 不要闪烁(不明白) set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} "状态行显示的内容 set laststatus=1 " 启动显示状态行(1),总是显示状态行(2) set foldenable " 允许折叠 set foldmethod=manual " 手动折叠 "set background=dark "背景使用黑色 set nocompatible "去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限 " 显示中文帮助 if version >= 603 set helplang=cn set encoding=utf-8 endif " 设置配色方案 "colorscheme murphy "字体 "if (has("gui_running")) " set guifont=Bitstream\ Vera\ Sans\ Mono\ 10 "endif """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""新文件标题 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "新建.c,.h,.sh,.java文件,自动插入文件头 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" ""定义函数SetTitle,自动插入文件头 func SetTitle() "如果文件类型为.sh文件 if &filetype == 'sh' call setline(1,"\#########################################################################") call append(line("."), "\# File Name: ".expand("%")) call append(line(".")+1, "\# Author: ma6174") call append(line(".")+2, "\# mail: [email protected]") call append(line(".")+3, "\# Created Time: ".strftime("%c")) call append(line(".")+4, "\#########################################################################") call append(line(".")+5, "\#!/bin/bash") call append(line(".")+6, "") else call setline(1, "/*************************************************************************") call append(line("."), " > File Name: ".expand("%")) call append(line(".")+1, " > Author: ma6174") call append(line(".")+2, " > Mail: [email protected] ") call append(line(".")+3, " > Created Time: ".strftime("%c")) call append(line(".")+4, " ************************************************************************/") call append(line(".")+5, "") endif if &filetype == 'cpp' call append(line(".")+6, "#include") call append(line(".")+7, "using namespace std;") call append(line(".")+8, "") endif if &filetype == 'c' call append(line(".")+6, "#include") call append(line(".")+7, "") endif " if &filetype == 'java' " call append(line(".")+6,"public class ".expand("%")) " call append(line(".")+7,"") " endif "新建文件后,自动定位到文件末尾 autocmd BufNewFile * normal G endfunc """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" "键盘命令 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" nmap w :w! nmap f :find " 映射全选+复制 ctrl+a map ggVGY map! ggVGY map gg=G " 选中状态下 Ctrl+c 复制 vmap "+y "去空行 nnoremap :g/^\s*$/d "比较文件 nnoremap :vert diffsplit "新建标签 map :tabnew "列出当前目录文件 map :tabnew . "打开树状文件目录 map \be "C,C++ 按F5编译运行 map :call CompileRunGcc() func! CompileRunGcc() exec "w" if &filetype == 'c' exec "!g++ % -o %


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3